A filter, or estimator, typically refers to a system that is designed to extract information from a signal affected by or otherwise corrupted with noise. Accordingly, a filter is intended to extract information of interest from noisy data. Filter, or estimation, theory has been applied in a wide variety of fields, including communications, radar, sonar, navigation, seismology, finance, and biomedical engineering.
The Wiener filter, which remains one of the outstanding achievements of 20th Century optimal system design, optimally filters a signal. The filtering or estimation effected with the Wiener filter is optimal in the statistical sense of minimizing the average squared error between the desired and the actual output of a system. The Wiener filter extends the well-known solution of regression to linear functional spaces; that is, the space of functions of time, or Hilbert Space.
The manner in which Wiener filters are typically applied in digital systems and computers is in an L-dimensional linear vector space (RL). This is due to the fact that the filter topology normally utilized in this context is a finite-duration impulse response (FIR) filter. Given an input signal x(n), considered to be stationary random process, and a desired response d(n), also a stationary random process, the best linear filter of order L for approximating the desired response d(n) in the mean square error sense is a FIR filter. The FIR filter is a weight vector w=R−1p, where R is the autocorrelation matrix of the input signal and p is the crosscorrelation vector between the input signal x(n) and the desired response d(n).
Due to the properties of the autocorrelation function of real or complex stationary random processes, the weight vector w can be computed with an algorithmic complexity of O(L2). Alternatively, search procedures based on the least mean square (LMS) algorithm can find the optimal weight vector in O(L) time. Due to the power of the solution and its relatively straightforward implementation, Wiener filters have been extensively utilized in most, if not all, areas of electrical engineering.
There are three basic types of estimation problems: (1) filtering, which involves the extraction of information in real time (i.e., using data until time n); (2) smoothing, according to which the extraction is done at time n1<n, where n represents the present time; and (3) prediction, according to which the extraction of information is done at a time or sample n2>n. The Wiener filter is the optimal linear estimator for each one of these estimation problems.
There are four general classes of applications for Wiener filters: (1) identification, in which the input and desired response for the Wiener filter come from the input and output of an unknown plant (man-made or physical and biological systems); (2) inverse modeling, in which the input and desired response of the Wiener filter come respectively from the output of the plant and from its input (eventually with a delay included): (3) prediction, in which the input and desired responses to the Wiener filter are given respectively by the delayed version of the time series and the current sample; and (4) interference cancellation, in which the input and desired responses for the Wiener filter come respectively from the reference signal (signal+noise) and primary input (noise alone).
Wiener filters have also been applied in the context of multiple-input—single-input (MISO) systems and devices, such as beamformers, whereby several antennas are used to capture parts of the signal, and the objective is to optimally combine them. Additionally, Wiener filters have been applied in the context of multiple-input—multiple-output (MIMO) systems and devices, whereby the goal is to optimally estimate the best projection of the input to achieve simultaneous multiple desired responses. The engineering areas where Wiener filers have been applied include communication systems (e.g., channel estimation and equalization, and beam forming), optimal controls (e.g., system identification and state estimation), and signal processing (e.g., model-based spectral analysis, and speech and image processing). Not surprisingly, Wiener filters are one of the central pillars of optimal signal processing theory and applications.
Despite their wide-spread use, Wiener filters are solutions limited to linear vector spaces. Numerous attempts have been made to create nonlinear solutions to the Wiener filter, based in the main on Volterra series approximation. Unfortunately, though, these nonlinear solutions are typically complex and usually involve numerous coefficients. There are also two types of nonlinear models that have been commonly used: The Hammerstein and the Wiener models. The Hammerstein and Wiener models are characterized by static nonlinearity and composed of a linear system, where the linear system is adapted using the Wiener solution. However, the choice of the nonlinearity is critical to achieving adequate performance, because it is a linear solution that is obtained in the transformed space according to these conventional techniques.
Recent advances in nonlinear signal processing have used nonlinear filters, commonly known as dynamic neural networks or fuzzy systems. Dynamic neural networks have been extensively used in the same basic applications of Wiener filters when the system under study is nonlinear. However, there typically are no analytical solutions to obtain the parameters of neural networks. They are normally trained using the backpropagation algorithm or its modifications (backpropagation through time (BPTT) or real-time recurrent learning (RTRL), as well as global search methods such as genetic algorithms or simulated annealing.
In some other cases, a nonlinear transformation of the input is first implemented and a regression is computed at the output. A good example of this is the radial basis function (RBF) network and more recently the kernel methods. The disadvantage of these alternate techniques of projection is the tremendous amount of computation required, which makes them impractical for most real world cases. For instance, to implement kernel regression on a 1,000-point sample, a 1,000×1,000 signal matrix has to be solved. By comparison, if a linear Wiener filter of order 10 is to be computed, only a 10×10 matrix is necessary.
Accordingly, there is a need to extend the solutions for the Wiener filter beyond solutions in linear vector spaces. In particular, there is a need for a computationally efficient and effective mechanism for creating nonlinear solutions to the Wiener filter.